package com.xjgc.webservice.ao.sap;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;
import com.thoughtworks.xstream.annotations.XStreamOmitField;
import com.xjgc.webservice.XParam;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 接收SAP传入:产业单位发起货物类付款
 *
 * @author: 小逗号
 * @date: 2023-11-22
 * @description:
 * @since:
 */
@Data
@XStreamAlias("REQUEST_DATA")
public class ZxjMeZfibi31AO extends XParam {
    @Override
    protected List<?> dataList() {
        return this.headList;
    }

    @XStreamImplicit(itemFieldName = "head")
    private List<Zfibi31> headList;

    /**
     * Head
     */
    @Data
    class Zfibi31 implements Serializable {
        /**
         * 客户端
         */
        @XStreamOmitField
        @XStreamAlias("MANDT")
        private String mandt = "";
        /**
         * 付款申请单号
         */
        @XStreamAlias("PAAPN")
        private String paapn = "";
        /**
         * 供应商或债权人的帐号
         */
        @XStreamAlias("LIFNR")
        private String lifnr = "";
        /**
         * 名称
         */
        @XStreamAlias("NAME1")
        private String name1 = "";
        /**
         * 创建日期
         */
        @XStreamAlias("CJRQ")
        private String cjrq = "";
        /**
         * 用户主记录中的用户名称
         */
        @XStreamAlias("USER1")
        private String user1 = "";
        /**
         * 回款方式
         */
        @XStreamAlias("FKFS")
        private String fkfs = "";
        /**
         * 公司代码
         */
        @XStreamAlias("BUKRS")
        private String bukrs = "";
        /**
         * 利润中心
         */
        @XStreamAlias("PRCTR")
        private String prctr = "";
        /**
         * 金额
         */
        @XStreamAlias("PAYWR")
        private String paywr = "";
        /**
         * 是否紧急
         */
        @XStreamAlias("ZSFJJ")
        private String zsfjj = "";
        /**
         * 用途
         */
        @XStreamAlias("ZFYT")
        private String zfyt = "";
        /**
         * 预算科目
         */
        @XStreamAlias("YSKM")
        private String yskm = "";
        /**
         * 支付项目
         */
        @XStreamAlias("ZFXM")
        private String zfxm = "";
        /**
         * 是否同行
         */
        @XStreamAlias("ZSFTH")
        private String zsfth = "";
        /**
         * 是否同城
         */
        @XStreamAlias("ZSFTC")
        private String zsftc = "";
        /**
         * 收款单位编码
         */
        @XStreamAlias("SKDWBH")
        private String skdwbh = "";
        /**
         * 成本中心
         */
        @XStreamAlias("KOSTL")
        private String kostl = "";
        /**
         * 付款单位编号
         */
        @XStreamAlias("FKDWBH")
        private String fkdwbh = "";
        /**
         * 付款单明细号
         */
        @XStreamAlias("FKDMXH")
        private String fkdmxh = "";
        /**
         * 内&外付款
         */
        @XStreamAlias("ZNWQF")
        private String znwqf = "";
        /**
         * 打印编号
         */
        @XStreamAlias("ZDYBH")
        private String zdybh = "";
        /**
         * 删除标识
         */
        @XStreamAlias("ZSCBJ")
        private String zscbj = "";
        /**
         * 借款单编号
         */
        @XStreamAlias("JKDBH")
        private String jkdbh = "";
        /**
         * 抵扣标识
         */
        @XStreamAlias("ZDUCMARK")
        private String zducmark = "";
        /**
         * 发票挂账同时付款标识(对公费用)
         */
        @XStreamAlias("ZGZFKBS")
        private String zgzfkbs = "";
        /**
         * 借款人
         */
        @XStreamAlias("ZJKR")
        private String zjkr = "";
        /**
         * 借款人电话
         */
        @XStreamAlias("ZJKRDH")
        private String zjkrdh = "";
        /**
         * 合同类型
         */
        @XStreamAlias("ZHTLX")
        private String zhtlx = "";
        /**
         * 是否国网商城采购
         */
        @XStreamAlias("ZSFGWCG")
        private String zsfgwcg = "";
        /**
         * 会计凭证编号
         */
        @XStreamAlias("BELNR_Y")
        private String belnrY = "";
        /**
         * 会计年度
         */
        @XStreamAlias("GJAHR_Y")
        private String gjahrY = "";
        /**
         * 已制证
         */
        @XStreamAlias("ZSFZZ")
        private String zsfzz = "";
        /**
         * 是否背靠背/租赁
         */
        @XStreamAlias("ZSFBKB")
        private String zsfbkb = "";
        @XStreamAlias("DATUM")
        private String datum = "";
        @XStreamAlias("UZEIT")
        private String uzeit = "";

        @XStreamImplicit(itemFieldName = "item")
        private List<Zfibi32> itemList;
    }

    /**
     * Item
     */
    @Data
    class Zfibi32 implements Serializable {
        /**
         * 客户端
         */
        @XStreamOmitField
        @XStreamAlias("MANDT")
        private String mandt = "";
        /**
         * 付款申请单号
         */
        @XStreamAlias("PAAPN")
        private String paapn = "";
        /**
         * 付款申请单项目号
         */
        @XStreamAlias("LINIT")
        private String linit = "";
        /**
         * 工厂
         */
        @XStreamAlias("WERKS")
        private String werks = "";
        /**
         * 采购凭证号
         */
        @XStreamAlias("EBELN")
        private String ebeln = "";
        /**
         * 采购凭证的项目编号
         */
        @XStreamAlias("EBELP")
        private String ebelp = "";
        /**
         * 付款到期日
         */
        @XStreamAlias("FKDQR")
        private String fkdqr = "";
        /**
         * 合同总金额
         */
        @XStreamAlias("BRTWR")
        private String brtwr = "";
        /**
         * 总发票金额
         */
        @XStreamAlias("RMWWR")
        private String rmwwr = "";
        /**
         * 已付款金额
         */
        @XStreamAlias("YFKJE")
        private String yfkje = "";
        /**
         * 本次付款金额
         */
        @XStreamAlias("BCFKE")
        private String bcfke = "";
        /**
         * 付款条件代码
         */
        @XStreamAlias("SFTJ")
        private String sftj = "";
        /**
         * 付款条件类别行
         */
        @XStreamAlias("LBBH")
        private String lbbh = "";
        /**
         * 阶段金额
         */
        @XStreamAlias("JDJE")
        private String jdje = "";
        /**
         * 凭证分类
         */
        @XStreamAlias("INVOICE")
        private String invoice = "";
        /**
         * 付款类型
         */
        @XStreamAlias("ZPAY_TYP")
        private String zpayTyp = "";
        /**
         * 会计凭证编号
         */
        @XStreamAlias("BELNR")
        private String belnr = "";
        /**
         * 会计凭证中的行项目数
         */
        @XStreamAlias("BUZEI")
        private String buzei = "";
        /**
         * 会计年度
         */
        @XStreamAlias("GJAHR")
        private String gjahr = "";
        /**
         * 付款原因代码
         */
        @XStreamAlias("RSTGR")
        private String rstgr = "";
        /**
         * 清分标识
         */
        @XStreamAlias("QFBS")
        private String qfbs = "";
        /**
         * 总帐科目编号
         */
        @XStreamAlias("SAKNR")
        private String saknr = "";
        /**
         * 已过账金额(含税)
         */
        @XStreamAlias("RMWWR_ITEM")
        private String rmwwrItem = "";

    }
}
